home *** CD-ROM | disk | FTP | other *** search
/ Just Call Me Internet / Just Call Me Internet.iso / com / computer / casio_st / prog_fx / volumes / fxvol2.asc < prev    next >
Encoding:
Text File  |  1994-03-01  |  28.7 KB  |  1,190 lines

  1.                VOLUME 2
  2.  
  3.    *** PROGRAMMES CASIO FX 850P ***
  4.     (c) W-Tel RTC (16) 62 93 74 05
  5.  
  6.      VOUS VENEZ DE TELECHARGER LE 
  7. FICHIER FXVOL2.LST SUR W-TEL. CES 
  8. PROGRAMMES SONT FACILEMENT ADAPTABLES 
  9. SUR D'AUTRES MICRO.
  10.  
  11.      VOUS POUVEZ SOIT RE-TAPER CES PRG 
  12. SUR VOTRE MICRO, SOIT A L'AIDE DU 
  13. LOGICIEL TRANSFILE ST850 LES CHARGER 
  14. DIRECTEMENT SUR LE CASIO FX850P. CE 
  15. LOGICIEL EST DISTRIBUE PAR OMIKRON 
  16. FRANCE AU PRIX DE 500FRS ENVIRON.
  17.  
  18.      SI VOUS AVEZ ECRIT UN SOFT SUR 
  19. CASIO FX850P VENEZ LE METTRE SUR W-TEL 
  20. 24/24 AU 62.93.74.05 (BAL WILLY).
  21.  
  22.  
  23.          SOMMAIRE DU VOLUME 2
  24.  
  25.      Course de chevaux
  26.  
  27.      Gestion de compte avec le MEMO
  28.  
  29.      Traceur de Courbes sur Casio 
  30. Fx850p enfin disponible
  31.  
  32.      Programme EPHEMERIDES.
  33.  
  34.      Red‚finir les caractŠres de votre 
  35. CASIO.
  36.  
  37.      Encore un programme de 
  38. fraction....
  39.  
  40.      Multiplication de deux polynomes
  41.  
  42.      Jour de Paques
  43.  
  44.      Roulette magique
  45.  
  46.      M‚thode d'ordonnancement Johnson 
  47. et Proust
  48.  
  49.      Division Euclidienne
  50.  
  51.      Listeur de programme TI57
  52.  
  53.      Calendrier perp‚tuel (c) NEIBAF
  54.  
  55.      Suite dans Volume 4...
  56.  
  57. **************************
  58.  
  59. Course de chevaux
  60.  
  61. Vous pouvez jouer … plusieur et parier 
  62. comme des malades sur les quatres 
  63. chevaux A, B, C et D.
  64.  
  65.  
  66. 10 REM COURSE DE CHEVAUX
  67. 20 CLEAR :DIM A(3,4)
  68. 30 R=1:$="ABCD"
  69. 40 PRINT "-------<COURSE DE CHEVAUX>--
  70. ----";
  71. 50 FOR J=1 TO 5:BEEP:BEEP1:NEXT J
  72. 60 PRINT
  73. 70 PRINT"             CHEVAL             
  74. ";
  75. 80 PRINT " ";:FOR J=1 TO 4:PRINT "     
  76. ";MID$(J,1);:NEXT J
  77. 90 GOSUB 1000:GOSUB 1000:GOSUB 1000
  78. 100 PRINT :BEEP
  79. 105 CLS
  80. 110 INPUT "   COMBIEN DE JOUEURS ?:  
  81. ",P
  82. 120 IF P>5 THEN 110
  83. 130 IF P<1 THEN 110
  84. 135 CLS
  85. 140 PRINT "    TOUT LES JOUEURS ONT 20 
  86. F";
  87. 150 GOSUB 1000:GOSUB 1000
  88. 160 DIM X(2,P),Y$(P)
  89. 170 FOR J=1 TO P:X(2,J)=20:NEXT J
  90. 180 REM INITIALISATION
  91. 190 G=0
  92. 200 FOR J=1 TO 4
  93. 210 
  94. A(1,J)=0:A(2,J)=RAN#:A(3,J)=1+INT(10^
  95. (1.2-A(2,J)))
  96. 220 NEXT J
  97. 225 CLS
  98. 230 PRINT :PRINT " ********<COURSE 
  99. ";R;">**********  
  100. ******************************";:GOSUB 
  101. 1000:GOSUB 1000
  102. 240 REM ARGENT DU PARI
  103. 250 FOR J=1 TO P
  104. 260 PRINT :X(1,J)=0:Y$(J)=""
  105. 270 IF X(2,J)=0 THEN 450
  106. 280 CLS:PRINT "       
  107. JOUEUR";J;"A";X(2,J);"F";
  108. 290 GOSUB 1000:GOSUB 1000:GOSUB 1000
  109. 295 CLS
  110. 300 LOCATE 1,1:PRINT "CHEVAL";
  111. 305 FOR K=1 TO 4
  112. 310 LOCATE K*6+4,1:PRINT MID$(K,1);
  113. 312 NEXT K
  114. 315 LOCATE 1,2:PRINT"COTE";
  115. 320 FOR K=1 TO 4
  116. 325 LOCATE K*6+3,2:PRINT A(3,K);
  117. 330 NEXT K
  118. 340 GOSUB 1000:BEEP
  119. 350 REM    PRINT CSR0
  120. 360 A$=KEY$:IF A$="" THEN 360
  121. 370 IF A$="A"THEN 400
  122. 375 IF A$="B"THEN 400
  123. 380 IF A$="C"THEN 400
  124. 385 IF A$="D"THEN 400
  125. 387 GOTO 360
  126. 400 Y$(J)=A$
  127. 410 BEEP:PRINT :PRINT "LE JOUEUR";J;" 
  128. JOUE LE CHEVAL ";A$;
  129. 420 INPUT "   ARGENT EN JEU ?:",X(1,J)
  130. 430 IF X(2,J)<X(1,J) THEN 410
  131. 440 X(2,J)=X(2,J)-X(1,J)
  132. 450 NEXT J
  133. 460 PRINT
  134. 470 PRINT "<FEU!>";
  135. 480 FOR K=1 TO 10:BEEP:NEXT K
  136. 490 PRINT
  137. 500 REM JEU
  138. 510 IF G=2 THEN 600
  139. 520 FOR J=1 TO 4
  140. 530 IF G>=1 THEN 560
  141. 540 PRINT CSRA(1,J);" ";
  142. 550 IF RAN#*(0.9+A(2,J)/10)>0.7 THEN 
  143. A(1,J)=A(1,J)+1
  144. 560 IF A(1,J)=31 THEN G=G+1
  145. 570 PRINT CSRA(1,J);MID$(J,1);
  146. 580 NEXT J
  147. 590 GOTO 500
  148. 600 REM BUT
  149. 610 PRINT CSR0;"BUT!";
  150. 620 FOR J=1 TO 7:BEEP:BEEP1:NEXT J
  151. 630 GOSUB 1000
  152. 640 FOR J=1 TO 4
  153. 650 IF A(1,J)=23 THEN 
  154. H=A(3,J):A$=MID$(J,1)
  155. 660 NEXT J
  156. 670 F=0
  157. 680 FOR J=1 TO P
  158. 690 M=0:IF X(1,J)=0 THEN 730
  159. 700 IF Y$(J)=A$ THEN M=X(1,J)*H
  160. 710 PRINT :BEEP
  161. 720 PRINT "JOUEUR";J;"->PRIX";M;"F";
  162. 730 X(2,J)=X(2,J)+M:GOSUB 1000
  163. 740 PRINT :BEEP:IF X(2,J)=0 THEN F=F+1
  164. 750 PRINT 
  165. "JOUEUR";J;"A";X(2,J);"F";:GOSUB 1000
  166. 760 NEXT J
  167. 770 PRINT :BEEP:IF F=P THEN 830
  168. 780 PRINT "REJOUE-TU[O/N]?";
  169. 790 A$=KEY$:IF A$="" THEN 790
  170. 800 IF A$="O" THEN R=R+1:GOTO 180
  171. 810 IF A$="N" THEN 830
  172. 820 GOTO 790
  173. 830 PRINT :PRINT "************GAME 
  174. OVER***********"
  175. 840 END
  176. 1000 REM COMPTEUR
  177. 1010 FOR K=1 TO 200:NEXT K
  178. 1020 RETURN
  179.  
  180.  
  181. **************************
  182.  
  183. Gestion de compte avec le MEMO
  184.  
  185. Mettez … la fin de votre MEMO:
  186. MODE 9
  187. BANQ (EXE)
  188. 01/01/90,libelle,0,1000 (EXE)
  189. % (EXE)
  190.  
  191. Sachant que BANQ est le pointeur du 
  192. d‚but du fichier et % celui de la fin.
  193. La syntaxe est pour les op‚rations: 
  194. DATE$,LIBELLE$,DEBIT$,CREDIT$
  195. Les virgules sont importantes !
  196. Ne rien mettre … la fin de votre MEMO, 
  197. sinon c'est perdu !
  198.  
  199.  
  200. 1 REM MEMO: BANQ
  201. 2 REM 01/01/90,LIBELLE,DEBIT,CREDIT
  202. 3 REM % (FIN FICHIER)
  203. 4 REM (c) W-Tel 62 93 74 05
  204. 5 REM R‚alis‚ par Willy
  205. 10 RESTORE#:RESTORE# "BANQ":READ# A$
  206. 20 SOLDE=0
  207. 30 READ# DATE$:IF DATE$="%" THEN 50
  208. 40 READ# L$,D$,C$:SOLDE=SOLDE-
  209. VAL(D$)+VAL(C$):GOTO 30
  210. 50 CLS:PRINT "SOLDE:";SOLDE;CHR$(13);
  211. 60 INPUT "DATE 
  212. (JJ/MM/AA):",DATE$:LOCATE 0,0:LOCATE 
  213. 0,1:PRINT "                                
  214. ";:LOCATE 0,0:LOCATE 0,1
  215. 70 INPUT "LIBELLE:",L$:LOCATE 
  216. 0,0:LOCATE 0,1:PRINT "                                
  217. ";:LOCATE 0,0:LOCATE 0,1
  218. 80 INPUT "SOMME:",S:LOCATE 0,0:LOCATE 
  219. 0,1:PRINT "                                
  220. ";:LOCATE 0,0:LOCATE 0,1
  221. 90 INPUT "Debit/Credit:",A$:LOCATE 
  222. 0,0:LOCATE 0,1:PRINT "                                
  223. ";:LOCATE 0,0:LOCATE 0,1
  224. 95 IF A$<>"C" AND A$<>"D" THEN 90
  225. 100 IF A$="D" THEN D$=STR$(S):C$=""
  226. 110 IF A$="C" THEN C$=STR$(S):D$=""
  227. 120 CLS:PRINT 
  228. DATE$","L$;CHR$(13)"Debit:"D$",Credit:"C$:INPUT 
  229. "OK? (O/N):";A$:IF A$="N" THEN GOTO 50
  230. 130 RESTORE#:RESTORE# "%":WRITE# 
  231. "%,,,"
  232. 140 RESTORE#:RESTORE# "%,,,":WRITE# 
  233. DATE$,L$,D$,C$:WRITE# "%":GOTO 10
  234.  
  235.  
  236. **************************
  237.  
  238. Traceur de Courbes sur Casio Fx850p 
  239. enfin disponible
  240.  
  241. Exemple:
  242. F(x)= ?        SINx +EXE
  243. 1/2xmin=       -4   +EXE
  244. 1/2xmax=       4    +EXE
  245. ymin=          -4   +EXE
  246. ymax=          4    +EXE
  247. D‚finition=    1    +EXE (nbre de 
  248. caractŠres s‚parant 2 points, 1 est le 
  249. plus pr‚cis)
  250. Graduation=    2    +EXE (0: pas de 
  251. graduation, 1:graduation avant, 2: 
  252. graduation aprŠs)
  253. % Erreur=      0.1  +EXE (pr‚cision de 
  254. graduation, mettre toujours 0.1 ?!?)
  255.  
  256. Merci … PIELB pour avoir chercher ce 
  257. petit programme. Qui en est l'auteur ? 
  258. ALAIN ?
  259.  
  260.  
  261. 1 ON ERROR GOTO 100
  262. CLS:DEFCHR$(255)="0000FF0000":DEFCHR$
  263. (253)="0000100000":DEFCHR$(252)="0000
  264. 800000":DEFCHR$(254)="0000020000"
  265. 10 PRINT CHR$(15);CALC$;" 
  266. ?";:INPUT@(190);Z$:IF Z$<>"" THEN 
  267. A$=Z$
  268. 11 CALC$="F(x)="+A$:CLS:PRINT 
  269. CSR7;"...Function RANGE...";:LOCATE 
  270. 0,1
  271. 20 INPUT "1/2 x 
  272. min:",x1:xmin=x1*2:INPUT "1/2 x 
  273. max:",x2:xmax=x2*2:INPUT "y 
  274. min:",ymin,"y 
  275. max:",ymax,"definition:",p:H=xmax-
  276. xmin:V=ymax-ymin:INPUT 
  277. "graduation:",G:IF G<>0 THEN INPUT "% 
  278. error:",t
  279. 40 CLS:X0=-xmin*32/H:Y0=INT(ymax*7/V)
  280. +.5:FOR Y=0 TO 7:LOCATE X0,Y:PRINT 
  281. CHR$(255);:NEXT Y:FOR X=0 TO 30:LOCATE 
  282. X,Y0:PRINT "-";:NEXT :LOCATE 
  283. X0,Y0:PRINT "+";:IF Y0<7 AND X0<31 
  284. THEN LOCATE 31,Y0:PRINT "-";
  285. 45 IF G=1 THEN GOSUB 1000
  286. 50 FOR l=0 TO 31 STEP p:x=(l-
  287. X0)*(H/32):h=Y0-VALF(A$)*8/V
  288. 51 q=FRACh:a$=CHR$(253)
  289. 52 IF q<.4 THEN a$=CHR$(252)
  290. 53 IF q>.6 THEN a$=CHR$(254)
  291. 59 IF h=7 AND l=31 THEN 61
  292. 60 IF h>=0 AND h<8 THEN LOCATE 
  293. l,h:PRINT a$;
  294. 61 NEXT :LOCATE X0,Y0:IF G=2 THEN 
  295. GOSUB 1000
  296. 62 STOP:GOTO 1
  297. 91 NEXT :LOCATE X0,Y0:IF G=2 THEN 
  298. GOSUB 1000
  299. 100 IF ERR=2 THEN 1 ELSE RESUME NEXT
  300. 1000 FOR l=0 TO 31:x=(l-X0)*(H/32):IF 
  301. l<32 AND x<10 AND x>=0 AND (FRACx)<=t 
  302. THEN LOCATE l,Y0:PRINT CHR$(144+x);
  303. 1001 NEXT :Y1=Y0:Y0=INTY0:FOR h=0 TO 
  304. 7:y=(Y0-h)*(V/8):IF FRACy<=t AND y=>0 
  305. AND y<10 THEN LOCATE X0,h:PRINT 
  306. CHR$(144+y);
  307. 1010 NEXT :Y0=Y1:RETURN
  308.  
  309.  
  310. **************************
  311.  
  312. Programme EPHEMERIDES.
  313.  
  314. L'astronomie vous passionne ? Alors 
  315. pour connaitre la position des astres 
  316. afin de pointer vos jumelles (mais si 
  317. ! On peut apercevoir ainsi les 
  318. satellites de Jupiter), ou votre 
  319. t‚lescope vers l'infiniment ‚loign‚, 
  320. tapez ce programme (plus de 3696 
  321. octets pour le programme et 1249 
  322. octets pour les variables !).
  323.  
  324. A la mise en route, le programme 
  325. demande la date sous la forme 
  326. JJ.MM.AAAA. Puis l'heure en temps 
  327. universel, introduite sous la mˆme 
  328. forme en heure, minutes et secondes. 
  329. L'heure en T.U. s'obtient, en France, 
  330. en retranchant de l'heure l‚gale, une 
  331. heure en hivers et deux heures en ‚t‚.
  332.  
  333. Le Casio calcule et affiche alors:
  334. - N le nombre de jours ‚coul‚s depuis 
  335. le 1er Janvier 1901 et le jour de la 
  336. semaine.
  337. - La longitude du soleil, donn‚e 
  338. indispensable pour la suite du calcul, 
  339. les coordonn‚es cart‚siennes sont 
  340. ‚galement calcul‚es, mais non 
  341. affich‚es.
  342.  
  343. Le programme demande alors 
  344. l'introduction des deux premiŠres 
  345. lettres de la planŠte dont on d‚sire 
  346. les coordonn‚es et il calcule et 
  347. affiche la longitude et la latitude de 
  348. la planŠte. On peut alors:
  349. - soit demander une autre position 
  350. pour le mˆme jour et la mˆme heure,
  351. - soit introduire:
  352. EQ le programme donne alors les 
  353. coordon‚es ‚quatoriales de la planŠte 
  354. (ou du soleil au d‚but) dont les 
  355. coordonn‚es sont affich‚es,
  356. TS le programme demande la longitude 
  357. du lieu et donne le temps sid‚ral 
  358. local pour le jour et l'heure entr‚s 
  359. au d‚but,
  360. ST provoque un arrˆt du programme.
  361.  
  362. Notes techniques:
  363. 1- pr‚cision d'environ de 1/10 de 
  364. degr‚ pour le soleil et les planŠtes 
  365. sauf Jupiter et Saturne o— l'‚cart 
  366. peut atteindre 1/2 de degr‚.
  367. 2- pour Jupiter, Saturne, Uranus et 
  368. Neptune, les constantes sont corrig‚es 
  369. pour tenir compte des pertubations … 
  370. longue periode pour les dates entre 
  371. 1900 et 2000.
  372.  
  373. (c) Serge BOUIGES adaptation Willy
  374.  
  375.  
  376.  
  377. 1 CLEAR:REM W-Tel 62 93 74 05 
  378. EPHEMERIDES
  379. 2 DIM 
  380. Z$(6),LO(7),LP(7),PO(7),PP(7),OO(7)
  381. ,OP(7),E(7),I(7),A(7):MODE 
  382. 5
  383. 10 PRINT "EPHEMERIDES";CHR$(13);:INPUT 
  384. "DATE(JJ.MM.AAAA)";J$:J=VAL(MID$(J$,
  385. 1,2)):M=VAL(MID$(J$,4,2)):A=VAL(MID$(
  386. J$,7,4))
  387. 20 INPUT "HEURE TU 
  388. (HH.MM.SS)";H$:H=VAL(MID$(H$,1,2)):
  389. T=VAL(MID$(H$,3,2)):S=VAL(MID$(H$,5,2))
  390. 50 HS=H/24+T/1440+S/86400:J=J+HS
  391. 60 N=A*365+31*(M-1)+J:IF M>2 GOTO 90
  392. 80 A=A-1
  393. 90 N=N+INT(A/4)-INT(A/100)+INT(A/400)
  394. 100 IF M<=2 GOTO 120
  395. 110 N=N-INT((M-1)*.4+2.7)
  396. 120 N=N-694325
  397. 130 PRINT "N="N;CSR(15);
  398. 140 DATA 
  399. LUNDI,MARDI,MERCREDI,JEUDI,VENDREDI
  400. ,SAMEDI,DIMANCHE
  401. 145 FOR I=0 TO 6:READ Z$(I):NEXT
  402. 150 I=INT((N/7-INT(N/7))*7+.005)
  403. 160 PRINT Z$(I)
  404. 180 DATA 4.8689,1.72027914E-
  405. 2,4.9085,8.1856E-
  406. 7,.01675104,1.00000023,3
  407. 190 READ LO,LP,PO,PP,E,A,KE
  408. 200 P=PO+PP*N:M=LO+LP*N-P
  409. 210 GOSUB 300
  410. 220 V=2*ATN(TAN(U/2)*SQR((1+E)/(1-E)))
  411. 230 R=A*(1-E*COS(U)):L=V+P
  412. 240 XS=R*COS(L):YS=R*SIN(L)
  413. 250 GOSUB 340
  414. 260 PRINT "LONG SOLEIL="DMS$(LD)
  415. 270 GOTO 380
  416. 300 Q=INT(M/2/PI):M=M-2*Q*PI:U=M
  417. 310 FOR K=0 TO KE
  418. 320 U=M+E*SIN(U):NEXT :RETURN
  419. 340 LD=L*180/PI
  420. 350 LD=(LD/360-INT(LD/360))*360
  421. 360 IF LD<0 THEN LD=LD+360
  422. 370 LD=INT(LD*10+.5)/10:RETURN
  423. 380 DATA 4.0117,7.14254534E-
  424. 2,1.3249,7.4229E-7,.82304,5.6618E-
  425. 7,.205615,.1222,.387098
  426. 390 DATA 3.6086,2.79631195E-
  427. 2,2.2716,6.5572E-7,1.3229,4.366E-
  428. 7,.006816,.05923,.7273
  429. 400 DATA 2.1776,9.14676584E-
  430. 3,5.8338,8.793E-7,.8516,3.712E-
  431. 7,.093309,3.2294E-2,1.523678
  432. 410 DATA 4.6879,1.4509868E-
  433. 3,.2289,857E-9,1.7358,483E-
  434. 9,.048376,.02284,5.202799
  435. 420 DATA 4.8567,5.8484028E-
  436. 4,1.5974,412E-9,1.9686,417E-
  437. 9,.054311,435E-4,9.552098
  438. 430 DATA 4.3224,205424E-9,2.9523,762E-
  439. 9,1.2825,2.3824E-7,.047319,1.3482E-
  440. 2,19.21694
  441. 440 DATA 1.5223,105061E-9,.7637,393E-
  442. 9,2.281,525E-9,.008262,3.1054E-
  443. 2,30.112912
  444. 450 DATA 1.6406,701214E-
  445. 10,3.8978,6.672E-7,1.9034,6.672E-
  446. 7,.250236,.29968,39.438712
  447. 460 FOR J=0 TO 7
  448. 470 READ 
  449. LO(J),LP(J),PO(J),PP(J),OO(J),OP(J)
  450. ,E(J),I(J),A(J):NEXT
  451. 500 CLS:PRINT 
  452. "ME,VE,MA,JU,SA,UR,NE,PL,TS,ST,EQ";
  453. :INPUT 
  454. "PLANETE(.) :",P$
  455. 505 IF P$="." GOTO 2000
  456. 510 IF P$="ME" GOTO 650
  457. 520 IF P$="VE" GOTO 660
  458. 530 IF P$="MA" GOTO 670
  459. 540 IF P$="JU" GOTO 680
  460. 550 IF P$="SA" GOTO 690
  461. 560 IF P$="UR" GOTO 700
  462. 570 IF P$="NE" GOTO 710
  463. 580 IF P$="PL" GOTO 720
  464. 590 IF P$="TS" GOTO 900
  465. 600 IF P$="ST" THEN END
  466. 610 IF P$="EQ" GOTO 1010
  467. 620 GOTO 500
  468. 650 T$="MERCURE":J=0:KE=5:GOTO 730
  469. 660 T$="VENUS":J=1:KE=3:GOTO 730
  470. 670 T$="MARS":J=2:KE=5:GOTO 730
  471. 680 T$="JUPITER":J=3:KE=4:GOTO 730
  472. 690 T$="SATURNE":J=4:KE=4:GOTO 730
  473. 700 T$="URANUS":J=5:KE=4:GOTO 730
  474. 710 T$="NEPTUNE":J=6:KE=3:GOTO 730
  475. 720 T$="PLUTON":J=7:KE=7:GOTO 730
  476. 730 P=PO(J)+PP(J)*N:M=LO(J)+LP(J)*N-P
  477. 740 E=E(J):GOSUB 300
  478. 750 V=2*ATN(TAN(U/2)*SQR((1+E)/(1-E)))
  479. 760 O=OO(J)+OP(J)*N:C=V+P-O
  480. 770 IF COS(C)=0 THEN D=C:GOTO 800
  481. 780 D=ATN(TAN(C)*COS(I(J)))
  482. 790 IF COS(C)<0 THEN D=D+PI
  483. 800 LS=D+O
  484. 810 BS=ATN(SIN(D)*TAN(I(J)))
  485. 820 RS=A(J)*(1-E*COS(U))
  486. 830 
  487. XP=RS*COS(BS)*COS(LS)+XS:YP=RS*COS
  488. (BS)*SIN(LS)+YS:ZP=RS*SIN(BS)
  489. 840 R=SQR(XP^2+YP^2):B=ATN(ZP/R):
  490. L=ATN(YP/XP)
  491. 850 IF XP<0 THEN L=L+PI
  492. 870 GOSUB 340
  493. 880 PRINT "LONGITUDE 
  494. "T$"="DMS$(LD);CHR$(13);:PRINT 
  495. "LATITUDE="DMS$(INT(B*18000/PI+.5)/100)
  496. 890 GOTO 500
  497. 900 INPUT "LONG LIEU EN DEG DECIMAUX,      
  498. (-) A L'EST DE GREENWICH:";LO
  499. 920 RD=1.7273+1.72027914E-2*N+HS*2*PI-
  500. LO*PI/180
  501. 930 GOSUB 955
  502. 940 PRINT "TEMPS SIDERAL="H"h"M"m"S"s"
  503. 950 GOTO 500
  504. 955 RD=(RD/2/PI-INT(RD/2/PI))*2*PI
  505. 960 H=INT(RD/PI*12)
  506. 970 M=INT((RD-H*PI/12)*720/PI)
  507. 980 S=INT((RD-H*PI/12-
  508. M*PI/720)*43200/PI)
  509. 990 RETURN
  510. 1010 EP=.40927971
  511. 1020 SD=COS(EP)*SIN(B)+SIN(EP)*COS(B)
  512. *SIN(L)
  513. 1030 DE=ATN(SD/SQR(1-SD^2))
  514. 1040 SR=COS(EP)*COS(B)*SIN(L)-
  515. SIN(EP)*SIN(B)
  516. 1050 RD=ATN(SR/COS(B)/COS(L))
  517. 1060 IF COS(L)*COS(B)<0 THEN RD=RD+PI
  518. 1070 IF RD<0 THEN RD=RD+PI*2
  519. 1080 GOSUB 955
  520. 1090 PRINT "ASCENS. 
  521. DROITE="H"h"M"m"S"s";CHR$(13);
  522. 1100 PRINT 
  523. "DECLINAISON="DMS$(INT(DE*18000/PI+
  524. .5)/100)
  525. 1200 GOTO 500
  526. 2000 CLS:PRINT "ME:MERCURE, VE:VENUS, 
  527. MA:MARS,  JU:JUPITER, 
  528. SA:SATURNE":CLS:PRINT "UR:URANUS, 
  529. NE:NEPTUNE, PL:PLUTON":CLS:PRINT 
  530. "TS:TEMPS SIDERAL LOCAL,         
  531. EQ:COORDONNEES EQUATORIALES":CLS:PRINT 
  532. "ST:FIN DU PROGRAMME, .:MENU 
  533. AIDE":GOTO 500
  534.  
  535.  
  536. **************************
  537.  
  538. Red‚finir les caractŠres de votre 
  539. CASIO.
  540.  
  541. 1 REM ACCENTS
  542. 2 REM par PIELB
  543. 3 REM distribue par W-TEL
  544. 4 REM (16) 62 93 74 05  24h/24
  545. 5 REM BANQUE DE DONNEES CASIO
  546. 10 PRINT "Creation de nouveaux 
  547. caracteres:";
  548. 20 J=10:U=1:FOR I=252 TO 
  549. 255:$="052BAB6B1F056BAB6B1F01A33F83
  550. 0101539F4301":DEFCHR$(I)=MID$(U,J):
  551. U=U+10:PRINT 
  552. I;":";CHR$(I);:NEXT:PRINT " ":CLS
  553. 30 J=10:U=1:FOR I=252 TO 
  554. 255:$="1D6BAB2B191DAB6B2B191D6BAB6B
  555. 191D4383451F":DEFCHR$(I)=MID$(U,J):
  556. U=U+10:PRINT 
  557. I;":";CHR$(I);:NEXT:PRINT " "
  558.  
  559.  
  560. **************************
  561.  
  562. Encore un programme de fraction....
  563. Pas trŠs rapide mais en une ligne !
  564.  
  565. 1 REM UN AUTRE PROGRAMME DE FRACTION
  566. 2 REM DISTRIBUE PAR W-TEL
  567. 10 CLEAR :Q=1:R=1:INPUT "N:",N:X=N:FOR 
  568. G=1 TO 50:A=INTN:N=N-
  569. A:T=P+A*Q:P=Q:Q=T:T=R+A*S:R=S:S=T:IF 
  570. ABS(X-Q/S)=>1E-12;N=1/N:NEXT ELSE 
  571. PRINT Q"/"S"="Q/S:GOTO 10
  572.  
  573.  
  574. **************************
  575.  
  576. Multiplication de deux polynomes
  577.  
  578. Multiplie P(x) et Q(x), le r‚sultat 
  579. est C(x).
  580. Le programme vous demande les coef de 
  581. chaque polynome, et vous donne les 
  582. coef du polynome C(x).
  583.  
  584. 1 REM PRODUIT DE 2 POLYNOMES
  585. 2 REM DISTRIBUE PAR W-TEL
  586. 3 REM (16) 62 93 74 05  24h/24
  587. 4 REM Serveur dedie aux CASIO
  588. 5 REM Banque de donnees ouverte a 
  589. tous.
  590. 10 CLEAR :DIM A(10),B(10),C(10):INPUT 
  591. "DEG P(x):",N:FOR I=N TO 0 STEP -
  592. 1:PRINT "P^"I;:INPUT A(I):NEXT I:INPUT 
  593. "DEG Q(x):",M:FOR I=M TO 0 STEP -
  594. 1:PRINT "Q^"I;:INPUT B(I):NEXT I:FOR 
  595. L=0 TO M+N:X=(L+N-ABS(L-N))/2:FOR I=0 
  596. TO X:J=L-I:C(L)=C(L)+A(I)*B(J)
  597. 20 NEXT I:NEXT L:FOR L=M+N TO 0 STEP-
  598. 1:PRINT "C^"L"="C(L):NEXT L:END
  599.  
  600. **************************
  601.  
  602. Jour de Paques
  603.  
  604. Ce programme vous donne tout 
  605. simplement le jour de Paques de 
  606. l'ann‚e choisie.
  607.  
  608. 1 REM JOUR DE PAQUES
  609. 2 REM DISTRIBUE PAR W-TEL
  610. 3 REM (16) 62 93 74 05  24h/24
  611. 4 REM BANQUE DE DONNEES
  612. 5 REM SUR SERVEUR MINITEL
  613. 10 INPUT "ANNEE:",J:IF J<1582 OR 
  614. J>2200 THEN 10
  615. 20 X=INT(J/100):ON 22-X GOTO 
  616. 30,40,40,50,60,70,70
  617. 30 M=24:N=6:GOTO 80
  618. 40 M=24:N=5:GOTO 80
  619. 50 M=23:N=4:GOTO 80
  620. 60 M=23:N=3:GOTO 80
  621. 70 M=22:N=2
  622. 80 A=J-INT(J/19)*19:B=J-
  623. INT(J/4)*4:C=J-
  624. INT(J/7)*7:D=19*A+M:D=D-
  625. INT(D/30)*30:E=2*B+4*C+6*D+N:E=E-
  626. INT(E/7)*7:F=22+D+E:G=D+E-9:IF F>31 
  627. THEN 100
  628. 90 PRINT "DIMANCHE DE PAQUES"J" EST 
  629. LE"F"MARS":GOTO 140
  630. 100 IF G<25 THEN 130
  631. 110 IF G=26 THEN G=19:GOTO 130
  632. 120 IF D=28 AND A>10 THEN G=18
  633. 130 PRINT "DIMANCHE DE PAQUES"J" EST 
  634. LE"G"AVRIL"
  635. 140 CLS:GOTO 10
  636.  
  637. **************************
  638.  
  639. Roulette magique
  640.  
  641. Vous voulez jouer … la roue de la 
  642. fortune ?
  643. Alors tapez ce petit programme...
  644.  
  645. 1 REM ROULETTE
  646. 2 REM par PIELB
  647. 3 REM distribue par W-TEL
  648. 4 REM (16) 62 93 74 05
  649. 5 REM BANQUE DE DONNEES CASIO
  650. 10 CLEAR :A=INT(3*(RAN#*36)):IF 
  651. FRAC(A/3)>0 THEN 10 ELSE 
  652. CLS:N$="00/01/02/03/04/05/06/07/08/
  653. 09/10/11/12/13/14/15/16/17/18/19/20
  654. /21/22/23/24/25/26/27/28/29/30/3
  655. 1/32/33/34/35/36/":X=-500:LOCATE 
  656. 15,1:PRINT CHR$(227);:N$=N$+N$
  657. 20 X=X+20:FOR I=0 TO X:NEXT :IF X=300 
  658. THEN BEEP1:STOP:GOTO 10 ELSE LOCATE 
  659. 5,0:PRINT 
  660. MID$(N$,A,22);:N$=RIGHT$(N$,LEN(N$)-
  661. 3)+LEFT$(N$,3):GOTO 20
  662.  
  663. **************************
  664.  
  665. M‚thode d'ordonnancement Johnson et 
  666. Proust
  667.  
  668. Ce programme permet d'ordonnancer un 
  669. atelier mais dans un type de problŠme 
  670. bien sp‚cifique:
  671. Passage de toutes les piŠces sur 
  672. toutes les machines mais surtout dans 
  673. un seul sens (pas de retour).
  674. Ce type de problŠme est facilement 
  675. r‚solu par les m‚thodes de Johnson et 
  676. Proust.
  677. Pour ton renseignement sur ces 
  678. m‚thodes ‚crivez … SAINT-CRICQ 
  679. William, 98 avenue du R‚giment de 
  680. Bigorre, 65000 TARBES, et demandez le 
  681. cours sur les m‚thodes 
  682. d'ordonnencement.
  683.  
  684.  
  685. Tapez ce programme en partout sauf en 
  686. P1:
  687.  
  688. 1 CLS:CLEAR :A$="J":INPUT 
  689. "P";N$:P$="P"+N$
  690. 5 RESTORE# P$:READ# t$:ERASE N$
  691. 10 READ# I,J:DIM T(I,J-1),M(I,J-
  692. 1),D(I,J-1)
  693. 20 FOR U=1 TO I
  694. 30 FOR V=0 TO J-1
  695. 40 READ# T(U,V)
  696. 50 NEXT V:NEXT U
  697. 55 CLS:PRINT "Johnson ou Proust 
  698. ?";:A$=INPUT$(1):IF A$<>"P" THEN IF 
  699. A$<>"J" THEN 55 ELSE CLS
  700. 60 IF A$="P" THEN RESTORE#"M" ELSE 
  701. GOTO #1
  702. 65 READ# t$
  703. 70 FOR U=1 TO I:FOR V=0 TO J-1
  704. 80 READ# M(U,V):NEXT V:NEXT U
  705. 85 READ# t$
  706. 90 FOR U=1 TO I:FOR V=0 TO J-1
  707. 95 READ# D(U,V):NEXT V:NEXT U
  708. 100 GOTO #1
  709.  
  710.  
  711. Tapez celui-ci en P1:
  712.  
  713. 5 ERASE O,TT,TP:DIM O(I),TT(I,2),TP(J-
  714. 1):POS1=0:POS2=J:CLS
  715. 7 FOR NB=1 TO J-
  716. 2:POS1=POS1+1:POS2=POS2-1
  717. 8 FOR U=1 TO I:TT(U,0)=U:O(U)=0
  718. TT(U,1)=T(U,POS1)+TT(U,1):TT(U,2)=
  719. T(U,POS2)+TT(U,2)
  720. 11 IF A$="P" THEN 12 ELSE 14
  721. 12 TT(U,1)=TT(U,1)+M(U,1)-
  722. M(U,POS2):TT(U,2)=TT(U,2)+D(U,J-1)-
  723. D(U,POS1)
  724. 13 IF NB>=2 THEN TT(U,1)=TT(U,1)-
  725. M(U,1)+M(U,POS2+1):TT(U,2)=TT(U,2)-
  726. D(U,J-1)+D(U,POS1-1)
  727. 14 PRINT U;TT(U,1);TT(U,2):NEXT U
  728. 15 PRINT "PB";NB;"Ordre:";:CA=0:CB=I+1
  729. 20 FOR U=1 TO I
  730. 25 A=1E5:B=1E5
  731. 30 FOR V=1 TO I
  732. 35 IF TT(V,0)>I THEN 80
  733. 40 IF TT(V,1)<A THEN 
  734. A=TT(V,1):TA=TT(V,0)
  735. 50 IF TT(V,2)<B THEN 
  736. B=TT(V,2):TB=TT(V,0)
  737. 80 NEXT V
  738. 87 IF A>B THEN 88 ELSE 
  739. CA=CA+1:O(CA)=TA:TT(TA,0)=I+1:GOTO 90
  740. 88 CB=CB-1:O(CB)=TB:TT(TB,0)=I+1
  741. 90 NEXT U
  742. 100 FOR U=1 TO I
  743. 110 PRINT O(U);
  744. 120 NEXT U:TA=0:TB=TT(O(1),1):PRINT
  745. 155 REM  CALCUL TEMPS
  746. 180 FOR V=1 TO J-1:TP(V)=0:NEXT V
  747. 200 FOR V=2 TO J-1
  748. 210 TP(V)=TP(V-1)+T(O(1),V-
  749. 1)+M(O(1),V-1)+D(O(1),V-1)
  750. 220 NEXT V
  751. 230 FOR U=1 TO I-1
  752. 240 FOR V=1 TO J-1
  753. 250 
  754. TP(V)=TP(V)+T(O(U),V)+M(O(U),V)+D(O
  755. (U),V)
  756. 260 NEXT V
  757. 270 FOR V=1 TO J-2
  758. 275 INE=T(O(U+1),V)+M(O(U+1),V)+D(O(U+
  759. 1),V)
  760. 280 IF TP(V+1)<(TP(V)+INE) THEN 
  761. TP(V+1)=TP(V)+INE
  762. 290 NEXT V
  763. 300 NEXT U
  764. 310 RES=TP(V)+T(O(U),V)+M(O(U),V)+D(
  765. O(U),V):PRINT 
  766. "Temps ";RES
  767. 320 NEXT NB
  768.  
  769.  
  770. Puis tapez dans le MEMO votre 
  771. problŠme:
  772.  
  773. P1                 (pointeur fichier 
  774. nø1, m‚thode Proust)
  775. 6,5                 (dimension du 
  776. problŠme: nombre de tache,nombre de 
  777. machine+1)
  778. 1,50,60,20,50       (nø de tache,temps 
  779. d'ex‚cution sur la machine 1, temps 
  780. d'ex‚cution sur la machine 2,....)
  781. 2,90,50,90,50       (idem)
  782. 3,70,20,50,70
  783. 4,20,50,20,50
  784. 5,110,60,15,15
  785. 6,30,100,45,120
  786. M                  (pointeur des 
  787. temps de montage sur chaque machine)
  788. 1,2,3,2,2           (nø de tache,temps 
  789. de montage sur la machine 1,temps de 
  790. montage sur la machine 2,....)
  791. 2,3,4,1,2           (idem)
  792. 3,5,6,6,8
  793. 4,2,5,5,6
  794. 5,6,3,2,3
  795. 6,10,6,3,6
  796. D                  (pointeur des 
  797. temps de d‚montage sur chaque machine)
  798. 1,4,5,1,3           (nø de tache,temps 
  799. de d‚montage sur la machine 1,temps de 
  800. d‚montage sur la machine 2,....)
  801. 2,2,2,2,3           (idem)
  802. 3,6,1,4,5
  803. 4,3,8,3,4
  804. 5,5,2,5,2
  805. 6,8,4,2,8
  806. P2                 (pointeur fichier 
  807. 2, problŠme Johnson)
  808. 6,3                 (6 taches et 2 
  809. machines)
  810. 1,3,4               (nø tache,temps 
  811. d'ex‚cution)
  812. 2,5,4               (ici pas de temps 
  813. de montage ni de d‚montage)
  814. 3,8,7
  815. 4,2,3
  816. 5,6,5
  817. 6,6,7
  818.  
  819. **************************
  820.  
  821. Division Euclidienne
  822.  
  823. Vous pouvez diviser deux polynomes de 
  824. degr‚ respectif n et m. Le programme 
  825. vous donne le r‚sultat de la division 
  826. entiŠre et le reste.
  827.  
  828. Ex: 4x^2+3x-4 / 5x-6
  829. DIVISION EUCLIDIENNE
  830. Deg N: 2
  831. Deg D: 1
  832. N^2: 4
  833. N^1: 3
  834. N^0: -4
  835. D^1: 5
  836. D^0: -6
  837. r‚sultat:
  838. 0.8 x^1 + 1.56 x^0 +
  839. reste:
  840. 5.36
  841.  
  842. 10 CLEAR :PRINT "DIVISION 
  843. EUCLIDIENNE";CHR$(13);
  844. 20 INPUT "Deg N:",N,"Deg D:",D
  845. 30 DIM A(N),B(D)
  846. 40 FOR I=N TO 0 STEP-1:PRINT 
  847. "N^";I;:INPUT ":",A(I):NEXT I
  848. 50 FOR I=D TO 0 STEP -1:PRINT 
  849. "D^";I;:INPUT ":",B(I):NEXT I
  850. 100 FOR I=N-D TO 0 STEP-
  851. 1:K=A(D+I)/B(D):PRINT K"x^"I"+";
  852. 110 FOR J=I TO D+I:A(J)=A(J)-K*B(J-
  853. I):NEXT J:NEXT I
  854. 150 PRINT " ":PRINT "RESTE:";:IF D<2 
  855. THEN 200
  856. 160 FOR I=D-1 TO 1 STEP -1
  857. 170 PRINT A(I)"x^"I"+";:NEXT I
  858. 200 PRINT A(0)
  859.  
  860. **************************
  861.  
  862. Listeur de programmes TI57
  863.  
  864. Si vous avez le bonheur de possŠder 
  865. une TI 57, alors ce programme vous 
  866. intŠresse.
  867.  
  868. En effet il permet de sortir sur le 
  869. MEMO et donc sur imprimante un listing 
  870. complet de programmes. Il permet aussi 
  871. d'utiliser votre Fx comme banque de 
  872. programmes TI57.
  873.  
  874. Entrez dans le MEMO le programme TI 
  875. sous forme de codes en chiffres.
  876. Exemple:
  877.  
  878.      P1
  879.      #
  880.      61.85.00
  881.      71.00
  882.      42
  883.      65
  884.      02
  885.      -31
  886.      95
  887.      50
  888.      58
  889.      61.00
  890.      00
  891.      23.00
  892.      13
  893.      61.01
  894.      00
  895.      51
  896.      71.00
  897.      61.75.01
  898.      71.01
  899.      26
  900.      33
  901.      02
  902.      51
  903.      71.01
  904.      28.01
  905.      71.01
  906.      50
  907.      75
  908.      01
  909.      00
  910.      95
  911.      28.01
  912.      00
  913.      22.00
  914.      23.01
  915.      50
  916.      27
  917.      -28
  918.      51
  919.      22.00
  920.      .
  921.  
  922. Avec P1 , pointeur de d‚but du 
  923. programme P1.
  924. # , autre pointeur n‚cessaire !
  925. Et enfin . indiquant la fin du 
  926. programme P1.
  927.  
  928. Executez le programme principal et 
  929. visualisez ensuite le MEMO qui 
  930. devient:
  931. P1
  932. #Jeu Cherchez l'Error
  933. 2nd Part 2
  934. Nombre de pas: 40
  935. Codes      Touches         Pas
  936. 61.85.00   STO + 0         0
  937. 71.00      RCL 0           1
  938. 42         sin             2
  939. 65         *               3
  940. 02         2               4
  941. -31        Inv log         5
  942. 95         =               6
  943. 50         2nd |x|         7
  944. 58         2nd Intg        8
  945. 61.00      STO 0           9
  946. 00         0               10
  947. 23.00      LBL 0           11
  948. 13         R/S             12
  949. 61.01      STO 1           13
  950. 00         0               14
  951. 51         x<>t            15
  952. 71.00      RCL 0           16
  953. 61.75.01   STO - 1         17
  954. 71.01      RCL 1           18
  955. 26         2nd x=t         19
  956. 33         1/x             20
  957. 02         2               21
  958. 51         x<>t            22
  959. 71.01      RCL 1           23
  960. 28.01      2nd SBR 1       24
  961. 71.01      RCL 1           25
  962. 50         2nd |x|         26
  963. 75         -               27
  964. 01         1               28
  965. 00         0               29
  966. 95         =               30
  967. 28.01      2nd SBR 1       31
  968. 00         0               32
  969. 22.00      GTO 0           33
  970. 23.01      LBL 1           34
  971. 50         2nd |x|         35
  972. 27         2nd x>=t        36
  973. -28        2nd Inv SBR     37
  974. 51         x<>t            38
  975. 22.00      GTO 0           39
  976. .
  977.  
  978. Voici le programme principal:
  979.  
  980. (Attention … la ligne 25, changer 
  981. GOSUB #0 par #n avec n l'endroi o— 
  982. vous allez mettre le second 
  983. programme.)
  984.  
  985. 1 ERASE P$:DIM P$(255):N$=""
  986. 2 ON ERROR GOTO 1000
  987. 5 CLS:PRINT "- TI 57 V1.00 -
  988.  (c) Wtel 1990";CHR$(13);
  989. 6 PRINT "*:DEL,H:HLP,NoProg,C:CAT:";
  990. :INPUT@(3);N$:IF N$="" THEN GOTO 5
  991. 7 IF N$="C" THEN1 ERASE P$:DIM P$(255)
  992. :N$=""
  993. 2 ON ERROR GOTO 1000
  994. 5 CLS:PRINT "- TI 57 V1.00 -
  995.  (c) Wtel 1990";CHR$(13);
  996. 6 PRINT "*:DEL,H:HLP,NoProg,C:CAT:";
  997. :INPUT@(3);N$:IF N$="" THEN GOTO 5
  998. 7 IF N$="C" THEN GOSUB 500:GOTO 5
  999. 8 IF N$="*" THEN GOSUB 600:GOTO 5
  1000. 9 IF N$="H" THEN GOSUB 700:GOTO 5
  1001. 10 RESTORE#:RESTORE# "P"+N$:READ# A$:C=-
  1002. 1:NE=0
  1003. 15 READ# A$:IF LEFT$(A$,1)<>"#" THEN 
  1004. PRINT "Le debut du programme doit com-
  1005.  mencer par #.":END
  1006. 20 C=C+1:READ# L$:L=LEN(L$):IF L>8 
  1007. THEN L$=LEFT$(L$,8):IF RIGHT$(L$,1)
  1008. =" " AND LEFT$(L$,1)<>"-"
  1009. THEN L$=LEFT$(L$,5) ELSE IF RIGHT$
  1010. (L$,1)=" " THEN L$=LEFT$(L$,6)
  1011. 21 IF L>8 THEN IF RIGHT$(L$,1)=" " 
  1012. AND LEFT$(L$,1)<>"-" THEN L$=LEFT$
  1013. (L$,2) ELSE IF RIGHT$(L$,1)=" "
  1014. THEN L$=LEFT$(L$,3)
  1015. 25 IF L$<>"." THEN GOSUB #0:P$(C)=
  1016. LEFT$(L$+"         ",11)+LEFT$(S$+"
  1017.                     ",15)+STR$(C):
  1018. GOTO 20
  1019. 27 C=C-1:CLS
  1020. 30 PRINT "Sauvegarde ds MEMO...           Entrez Nom:";
  1021. 40 INPUT@(31);$:IF LEN($)>31 THEN
  1022.  "Trop long":GOTO 30
  1023. 45 IF $="" THEN RESTORE#:RESTORE# 
  1024. "P"+N$:READ# A$,$:$=MID$($,2,31)
  1025. 47 $="#"+$
  1026. 50 RESTORE#:RESTORE# "P"+N$:READ# A$
  1027. 51 IF C<48 THEN P=1
  1028. 52 IF C<40 THEN P=2
  1029. 53 IF C<32 THEN P=3
  1030. 54 IF C<24 THEN P=4
  1031. 55 IF C<16 THEN P=5
  1032. 56 IF C<08 THEN P=6
  1033. 57 IF C>47 THEN P=-1
  1034. 58 IF C=-1 THEN P=7
  1035. 60 IF P<>0 THEN $=LEFT$($+"                               ",32)+"2nd Part"+STR$(P)
  1036. 70 IF P=0 THEN $=LEFT$($+"                               ",32)+"Attention plus de 47 pas."
  1037. 80 $=LEFT$($+"                               ",64)+"Nombre de pas:"+STR$(C+1)
  1038. 85 $=LEFT$($+"                               ",96)+" "
  1039. 90 $=LEFT$($+"                               ",128)+"Codes      Touches         Pas"
  1040. 95 WRITE# $
  1041. 100 FOR I=0 TO C:WRITE# P$(I):NEXT 
  1042. I:CLS:GOTO 5
  1043. 500 REM CATALOGUE PROG
  1044. 510 RESTORE#
  1045. 520 RESTORE# "P":READ# A$,B$:PRINT
  1046.  A$;CHR$(13);MID$(B$,2,31):GOTO 520
  1047. 600 REM EFFACE PROG
  1048. 605 N$=""
  1049. 610 CLS:PRINT "No Prog a effacer:";
  1050. :INPUT@(3);N$:INPUT "Confirmation 
  1051. (O/N):";C$:IF C$="N" THEN RETURN
  1052. 620 RESTORE#:RESTORE# "P"+N$:READ# 
  1053. A$,A$
  1054. 630 C$=MID$(A$,64+15,3):C=VAL(C$):IF
  1055.  C<0 THEN PRINT "Erreur...":END
  1056. 640 RESTORE#:RESTORE# "P"+N$
  1057. 650 FOR I=-2 TO C:WRITE#:NEXT I
  1058. 660 PRINT "FINI...":RETURN
  1059. 700 REM HLP
  1060. 710 CLS:PRINT "La syntaxe dans le 
  1061. MEMO doit    etre la suivante:"
  1062. 720 PRINT "Pn : n est le num du 
  1063. programme."
  1064. 730 PRINT "# : pointeur avant 
  1065. programme."
  1066. 740 PRINT "Puis les codes xx.yy.zz,
  1067.  c.a.d  le programme code TI57."
  1068. 750 PRINT ". : indique la fin du 
  1069. programme"
  1070. 760 RETURN
  1071. 1000 RESUME 5
  1072.  
  1073. Voici maintenant le second programme, 
  1074. qui sera mis en P0:
  1075.  
  1076. 10 DATA 13,R/S,15,On/C,21,RST,26,2nd
  1077.  x=t,27,2nd x>=t,29,2nd Dsz,31,log,32
  1078. ,lnx,33,1/x,34,x^2,35,x^.5,40,2nd x!,
  1079. 41,DGR,42,sin,43,cos,44,tan,45,y^x,
  1080. 46,2nd DRG>,47,2nd P<>R,48,2nd DMS-
  1081. DD,49,2nd PI,50,2nd |x|,51,x<>t,52,EE,
  1082. 53,(,54,),55,:,56,2nd Ct,58,2nd Intg
  1083. 20 DATA 59,2nd Frac,65,*,75,-
  1084. ,76,2nd CM,85,+,93,.,94,+/-
  1085. ,95,=,96,2nd Pause,EOF,EOF
  1086. 30 DATA 22,GTO,23,LBL,28,2nd SBR,57,
  1087. 2nd Fix,61,STO,71,RCL,81,EXC,EOF,EOF
  1088. 40 DATA 61.45,STO y^x,61.55,STO :,
  1089. 61.65,STO *,61.75,STO -
  1090. ,61.85,STO +,EOF,EOF
  1091. 45 DATA -26,2nd Inv x=t,-
  1092. 27,2nd Inv x>=t,-28,2nd Inv SBR,-
  1093. 29,2nd Inv Dsz,-31,Inv log,-
  1094. 32,Inv lnx,-41,Inv DRG,
  1095. -42,Inv sin,-43,Inv cos,-44,Inv tan,-
  1096. 46,2nd Inv DRG>,-47,2nd Inv P<>R,-
  1097. 48,2nd Inv DMS-DD,-52,Inv EE,
  1098. -57,2nd Inv Fix,EOF,EOF
  1099. 50 RESTORE:S$=""
  1100. 60 L=LEN(L$):IF L<>2 AND L<>5 AND 
  1101. L<>8 AND L<>3 THEN S$="Erreur longu
  1102. eur":NE=NE+1:GOTO 140
  1103. 65 IF L=3 THEN RESTORE 45
  1104. 70 IF L=5 THEN RESTORE 30
  1105. 80 IF L=8 THEN RESTORE 40
  1106. 85 IF L=2 AND VAL(L$)=>0 AND VAL(L$)
  1107. <=9 THEN S$=RIGHT$(L$,1):GOTO 100
  1108. 90 READ A$,B$:IF LEFT$(L$,2+3*ABS(L=
  1109. 8)+1*ABS(L=3))=A$ THEN S$=S$+B$ ELSE
  1110.  IF A$<>"EOF" AND S$="" THEN GOTO 90
  1111. 100 REM
  1112. 110 IF (L=5 OR L=8) AND S$<>"" THEN 
  1113. S$=S$+" "+RIGHT$(L$,1):IF VAL(RIGH
  1114. T$(L$,2))<0 OR VAL(RIGHT$(L$,2))>9
  1115. THEN S$=""
  1116. 120 IF S$="" THEN S$="Erreur syntaxe
  1117. ":NE=NE+1:GOTO 140
  1118. 140 PRINT CHR$(12);L$;CSR(11);S$;CSR
  1119. (26);C;CHR$(13);"Conversion....Erre
  1120. ur:";NE;
  1121. 150 RETURN
  1122.  
  1123. **************************
  1124.  
  1125. Calendrier prep‚tuel (c) Neibaf
  1126.  
  1127. 1 REM (C) NEIBAF
  1128. 10 CLS:PRINT "CALENDRIER PERPETUEL";
  1129. 20 DIM J$(7),M$(12),JO(12)
  1130. 30 RESTORE 140:FOR I=0 TO 6:READ J$
  1131. (I):NEXT:FOR I=1 TO 12:READ M$(I),J
  1132. O(I):NEXT
  1133. 40 CLS:INPUT "Jour :",J:IF J<1 THEN
  1134.  40 ELSE INPUT "Mois :",M:GOTO 160
  1135. 50 INPUT "Annee :",A
  1136. 60 CLS:PRINT "Le ";RIGHT$(STR$(J),2
  1137. );"/";RIGHT$(STR$(M),2);"/";MID$(ST
  1138. R$(A),2,5)" correspond au";:PRINT 
  1139. :GOSUB 100
  1140. 70 JS=FRAC((JD-1720977)/7)
  1141. 80 JS=INT(7*(JS-INT(JS))+.001)
  1142. 90 PRINT J$(JS);J;M$(M);A;:A$=INPUT
  1143. $(1,@):IF A$=CHR$(13) THEN CLS:GOTO
  1144.  40 ELSE CLS:ERASE M$,J$,M,A$:END
  1145. 100 MAN=INT(.6+1/M+.001):MP=M+12*MA
  1146. N:AP=A-
  1147. MAN
  1148. 110 JD=J+INT((367*(MP-
  1149. 1)+5)/12+.001)+INT(365.25*(AP+471
  1150. 2)+.001)
  1151. 120 JD=JD-INT(AP/100)+INT(AP/400)
  1152. 130 RETURN
  1153. 140 DATA Dimanche,Lundi,Mardi,Mercr
  1154. edi,Jeudi,Vendredi,Samedi
  1155. 150 DATA Janvier,31,Fevrier,29,Mars
  1156. ,31,Avril,30,Mai,31,Juin,30,Juillet
  1157. ,31,Aout,31,Septembre,30,Octobre,
  1158. 31,Novembre,30,Decembre,31
  1159. 160 IF M>12 OR M<1 THEN CLS:BEEP:PR
  1160. INT "Une annee compte 12 mois";:A$=
  1161. INPUT$(1,@):GOTO 40
  1162. 170 IF J>JO(M) OR J<1 THEN CLS:BEEP
  1163. :PRINT "Il y a"JO(M)"jours en "M$(M
  1164. );:A$=INPUT$(1,@):GOTO 40
  1165. 180 GOTO 50
  1166.  
  1167.  
  1168.  
  1169.  
  1170.  
  1171. **************************
  1172.  
  1173. C'est tout pour l'instant, mais vous 
  1174. pouvez m'en envoyer … l'adresse 
  1175. suivante:
  1176.  
  1177.          Saint-Cricq William
  1178.             9 Cit‚ Bel Air
  1179.              65000 TARBES
  1180.  
  1181.  
  1182.  
  1183. ATTENTION: CES PROGRAMMES NE PEUVENT 
  1184. ETRE VENDUS. ILS SONT DU DOMAINE 
  1185. PUBLIC ET SONT DISTRIBUES PAR W-TEL. 
  1186.  
  1187.  
  1188.